home *** CD-ROM | disk | FTP | other *** search
- package Local.Game.Thing
- {
- import Local.Game.World.*;
- import Local.Game.World.Map.*;
- import Local.Game.World.Map.Cell.*;
- import Local.Math.*;
- import STC9.System.*;
- import flash.display.*;
- import flash.events.*;
- import flash.geom.*;
-
- public class CShotAirBomb extends CShot
- {
-
-
- private var mPath:CPath;
-
- private var mFlare:CThingAnimation;
-
- public function CShotAirBomb(param1:*)
- {
- var _loc2_:CPosition = null;
- _loc2_ = param1 is CPosition ? param1 : param1.mPosition;
- super(new CPosition(_loc2_.x,-50));
- mType = "airbomb";
- Process = Process_Normal;
- mAngle = CAngle.AsAngle256(0);
- mDelta = new CPosition(0,2);
- mMaxLife = mLife = 1;
- mOrientation = 1;
- mShowOnMap = true;
- AddAnimation("stand",AirBomb,"AddSprite_Black2");
- }
-
- override public function Draw() : void
- {
- super.Draw();
- DrawSprite(GetOrientationMatrix());
- }
-
- public function Process_Normal() : void
- {
- var _loc1_:int = 0;
- var _loc2_:* = NaN;
- var _loc3_:* = NaN;
- var _loc4_:* = NaN;
- var _loc5_:CEffectExplosionLarge = null;
- var _loc6_:int = 0;
- var _loc7_:* = NaN;
- var _loc8_:Number = NaN;
- var _loc9_:CPosition = null;
- mDelta.y += 0.05;
- if(mDelta.y > 5)
- {
- mDelta.y = 5;
- }
- Move(mDelta);
- if(mPosition.y >= mLandscape.GetAltitude(mPosition.x) - 140)
- {
- _loc1_ = 0;
- loop0:
- while(true)
- {
- §§push(_loc1_);
- §§push(10);
- while(true)
- {
- if(§§pop() >= §§pop())
- {
- addr202:
- Dispose();
- }
- else
- {
- §§push(_loc1_);
- §§push(2);
- if(false)
- {
- continue;
- }
- §§push(§§pop() * §§pop());
- if(true)
- {
- §§push(§§pop());
- if(true)
- {
- _loc2_ = §§pop();
- if(true)
- {
- §§push(_loc1_);
- §§push(2);
- if(true)
- {
- §§push(§§pop() * §§pop());
- if(true)
- {
- §§push(§§pop());
- if(true)
- {
- _loc3_ = §§pop();
- if(true)
- {
- §§push(_loc1_ * 80);
- if(true)
- {
- §§push(10);
- if(true)
- {
- §§push(§§pop() + §§pop());
- if(true)
- {
- §§push(§§pop());
- }
- _loc4_ = §§pop();
- if(true)
- {
- addr109:
- _loc6_ = _loc1_ * 2;
- if(true)
- {
- addr116:
- _loc7_ = Math.random();
- if(true)
- {
- addr126:
- _loc8_ = Math.PI * 2 / _loc1_;
- addr124:
- while(_loc6_)
- {
- _loc9_ = CPosition.Polar(Math.random() * _loc4_,_loc7_);
- _loc9_.x += mPosition.x;
- if(true)
- {
- _loc9_.y += mPosition.y;
- }
- mParent.AddThing(_loc5_ = new CEffectExplosionLarge(_loc9_,1000,_loc2_ + Math.random() * _loc3_));
- if(true)
- {
- _loc5_.mFastRender = true;
- if(true)
- {
- _loc6_--;
- }
- §§push(_loc7_);
- if(true)
- {
- §§push(§§pop() + _loc8_);
- }
- _loc7_ = §§pop();
- }
- }
- }
- _loc1_++;
- }
- continue loop0;
- }
- §§goto(addr202);
- }
- §§goto(addr124);
- }
- §§goto(addr109);
- }
- addr204:
- Process_Children();
- break;
- }
- §§goto(addr116);
- }
- §§goto(addr124);
- }
- §§goto(addr109);
- }
- break;
- }
- §§goto(addr124);
- }
- §§goto(addr126);
- }
- }
- return;
- }
- }
- §§goto(addr204);
- }
- }
- }
-